package cn.tedu.lv;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class LvConfig {

    @Bean
    public SkyLance lance1(){
        return new SkyLance();
    }
    @Bean
    public SkyLance lance2(){
        return new SkyLance();
    }

    // @Bean注解标记的方法参数列表中如果有参数
    // 效果是令Spring到Spring容器中寻找类型匹配的对象并赋值给这个参数
    // 也就是上面的方天画戟对象会自动被赋值到下面方法的参数里
    // 在方法中再将sl属性赋值给lv对象即可
    @Bean
    // 参数名称lance1匹配上面保存到Spring容器中的方天画戟的id
    // 如果Spring容器中有个两个以及两个以上的方天画戟对象,必须匹配
    public LvBu lv(SkyLance lance1){
        LvBu lv=new LvBu();
        // 将从Spring容器中获得的方天画戟对象,赋值到吕布类的属性中
        // 完成依赖注入
        lv.setSkyLance(lance1);
        return lv;
    }

}
